/**
 * \* Created with IntelliJ IDEA.
 * \* User: Administrator
 * \* Date: 2022/3/30
 * \* Time: 16:00
 * \* To change this template use File | Settings | File Templates.
 * \* Description:
 * \
 */

//单例模式-懒汉模式
class Singleton2{
    //1.不需要立即初始化
    public static volatile Singleton2 instance = null;
    //2.把构造方法设为private
    private Singleton2(){}
    //3.提供一个方法来获取以上实例，
    //只有真正需要用到这个实例的时候，才去真正创建这个实例
    public static Singleton2 getInstance(){
//如果这个条件成立，说明当前的单例是未被初始化的，存在线程安全，就需要进行加锁操作
        if(instance == null){
            synchronized (Singleton2.class){
                if(instance == null){
                    instance = new Singleton2();
                }
            }
        }

        return instance;
    }
}

public class Demo20 {
    public static void main(String[] args) {
        Singleton2 instance = Singleton2.getInstance();
    }
}
